package com.atguigu.srb.base.config;


import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import javax.swing.text.Document;

@EnableSwagger2
@Configuration
public class Swagger2Config {
      @Bean
    public Docket adminApiConfig(){
          return  new Docket(DocumentationType.SWAGGER_2)
                     .groupName("adminApi")
                  .apiInfo(adminApiInfo())
                  .select()
                  .paths(Predicates.and(PathSelectors.regex("/admin/.*")))//过滤器
                  .build();
      }
      // 后端文档描述
      private ApiInfo adminApiInfo(){
           return  new ApiInfoBuilder()
                   .title("尚融宝接口文档")
                   .description("尚融宝项目的各个模块的文档接口")
                   .version("1.6")
                   .contact(new Contact("lay_hu","15306136305","admin@qq.com"))
                   .build();
      }
   @Bean
   public Docket webApiConfig(){
       return  new Docket(DocumentationType.SWAGGER_2)
               .groupName("webApi")
               .apiInfo(webApiInfo())
               .select()
               .paths(Predicates.and(PathSelectors.regex("/api/.*")))
               .build();
   }
    // 平台文档描述
    private ApiInfo webApiInfo(){
        return  new ApiInfoBuilder()
                .title("尚融宝接口文档")
                .description("尚融宝项目的各个模块的文档接口")
                .version("1.6")
                .contact(new Contact("lay_hu","15306136305","admin@qq.com"))
                .build();
    }
    @Bean
    public Docket ApiConfig(){
        return  new Docket(DocumentationType.SWAGGER_2)
                .groupName("Api")
                .apiInfo(ApiInfo())
                .select()
                .paths(Predicates.and(PathSelectors.regex("/api/.*")))
                .build();
    }
    // 平台文档描述
    private ApiInfo ApiInfo(){
        return  new ApiInfoBuilder()
                .title("尚融宝接口文档")
                .description("尚融宝项目的各个模块的文档接口")
                .version("1.6")
                .contact(new Contact("lay_hu","15306136305","admin@qq.com"))
                .build();
    }

}
